Method and an electrical device for efficient generation of multi-rate pseudo random noise (pn) sequence

ABSTRACT

An electrical device for generating a multi-rate pseudo random noise (PN) sequence. A sequence generator is adapted to output a plurality of sequence values based on a step control signal (S t ). A selection system is adapted to select one of a plurality of sequence values based on a select value (M t ). A step control is adapted to provide the step control signal (S t ). Also disclosed is a method of generating a multi-rate PN sequence.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.09/742,711, filed Dec. 20, 2000, pending, which claims the benefit of EP99610079.8, filed Dec. 22, 1999, the disclosures of which areincorporated herein by reference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

NOT APPLICABLE

REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTINGCOMPACT DISC APPENDIX

NOT APPLICABLE

BACKGROUND OF THE INVENTION

The present invention relates to an electrical device for generating amulti-rate PN sequence for use in cryptography, and coded communicationswhen confidentiality is needed.

Pseudo random noise sequences (PN sequences) are used in manycryptographic and communications applications to provide randomlyappearing symbols. Typically, cryptographic applications are methods toprovide confidentiality of transmitted information through the use ofstream ciphers. In communications systems, PN sequences may be used forexample as spreading sequences in spread-spectrum communications systemswhere they determine the hop sequence and/or the direct spreadingsequence.

In general a receiver of a spread-spectrum communications system willreceive a digital signal/bit stream transmitted over a single carrierfrequency which is combined from a digital signal/bit stream containinginformation such as a digitized voice and from a PN sequence used tocode or encrypt the transmission. Typically, the length of the PNsequence stream is much larger than the length of the information streamthereby, complicating identification of ciphers containing the actualinformation.

In prior art, the PN sequences are sometimes derived by using a maximallength polynomial. Constructions, whether hardware or softwareimplemented, which form PN sequences, in this manner are sometimesreferred to as m-sequence generators. It is well known that therandomness properties of the sequences generated by the m-sequencegenerators are very limited as a result of a linear relationship betweenthe symbols of the sequence. This enables prediction of the next symbolgiven sufficiently many but small number of previous symbols. This isnot desirable in various applications, and hence there is a need forefficient techniques to enhance the unpredictability.

Clock control of the m-sequence generator is a well-known method thatcan be used to increase the unpredictability of m-sequence generators.The most frequent method of clock control is that of introducing twomodes of operation in an m-sequence generator. In one mode the generatoroutputs the previously produced symbol, and in the other mode thegenerator outputs the next symbol from the m-sequence. The current modecan advantageously be determined by another PN sequence. Output bitsgenerated by a clock controlled m-sequence generator form the PNsequences which are used, inter alia, to encrypt or spread aninformation signal.

The abovementioned method of clock control, also sometimes referred toas the stop-and-go method, is especially used in hardware applicationswhere it is easy to implement this stop-and-go method. However, therandomness properties of the resulting sequence, although lesspredictable, are impaired by the fact that the output sequence containsrepetitions of previous symbols. This may obviated by using a step-onceor step-twice ((1,2)-step) scheme, i.e. a basic m-sequence generatorgenerates the next symbol (mode 1) or the symbol after the next symbol(mode 2), instead of the stop-and-go scheme. When implementing such aclock controlled generator, the basic m-sequence generator is requiredto produce symbols at twice the rate of the rate needed for outputsymbols. Known solutions for this depend on the use of a higher internalclock rate for the basic m-sequence generator or on the use of a verycomplex hardware applications of clock controlled basic m-sequencegenerators.

EP 0905611 A2 discloses a pseudorandom number generating method andpseudorandom number generator where a selector selects a pseudorandomnumber X_(j) (a single bit) from either one of two function generatoroutputs on the basis of a previous pseudorandom number X_(j-1). The twofunction generators generate data composed of a plurality of bitscorresponding to state data held in a register.

Another selector selects one of the data outputs of the functiongenerators on the basis of the previous pseudorandom number X_(j-1) andstores this in the register as state data.

The abovementioned pseudorandom generator in EP 0905611 A2 does notdisclose a clock controlled multi-rate generator and is subject to theabovementioned deterioration of unpredictability, since a clock ratetwice as high as the needed output rate is needed because only onesymbol is output at a time.

U.S. Pat. No. 5,878,075 discloses a method of and an apparatus forgenerating a pseudorandom noise sequence (PN sequence), where a bitsequence of pseudorandom numbers is augmented by an extra bit in orderto comply with the Interim Standard IS-95 for implementation of CDMA(Code Division Multiple Access), where a sequence of 2¹⁵ bits isrequired.

Prior art methods and systems for generating PN sequences all requireelaborate hardware and consequent expenditure of electrical power. Thereis therefore a need for a method and system for generating a PN sequencewithout the disadvantages of prior art.

BRIEF SUMMARY OF THE INVENTION

An object of the invention is to provide an electrical device forefficient multi-rate PN sequence generation of simplified constructionwhich is capable of generating one or more m-sequences at a multi-rate.

This object is achieved by an electrical device of the aforementionedtype, said device further comprising:

-   -   selection means adapted to select one of said plurality of        sequence values on the basis of a select value (M_(t)), and    -   step control means adapted to provide the step control signal        (S_(t)).

The inventive device comprises:

-   -   sequence generation means adapted to output a plurality of        sequence values on the basis of a step conrol signal (S_(t)).

The present invention also relates to a method of generating amulti-rate PN sequence comprising the step of:

-   -   generating a plurality of sequence values on the basis of a step        control signal (S_(t)).

The invention provides a flexible, efficient and cryptographically moresecure generation of sequences of pseudorandom ciphers which avoids theuse of multiple system clocks and requires little additional hardwareand thereby little additional power consumption.

In accordance with one embodiment of the device according to theinvention, the select value (M_(t)) is provided on the basis of a clockcontrol value/signal (C_(t)) and a previously generated select value(M_(t-1)).

In accordance with another embodiment, the step control signal (S_(t))is provided on the basis of a clock control value/signal (C_(t)) and apreviously generated select value (M_(t-1)).

In a preferred embodiment, the plurality of sequence values is two, thestep control signal (S_(t)) is calculated as S_(t)=(C_(t)+M_(t-1)) DIV 2and the select value (M_(t)) is calculated as M_(t)=(C_(t)+M_(t-1)) MOD2.

Hereby a (1,2)-step clock controlled m-sequence generator is providedwith very little additional hardware.

Alternatively, the plurality of sequence values is four and the selectvalue (M_(t)) is calculated as M_(t)=(C_(t)+M_(t-1)) MOD 4 and the stepcontrol signal (S_(t)) is calculated as S_(t)=(C_(t)+S_(t)) DIV 4.

An efficient (1,2,3,4)-step clock controlled m-sequence generator isdescribed hereinafter.

In general, any N-step clock controlled m-sequence generator may beprovided according to this invention, where N.gtoreq.2. Accordingly theselect value (M_(t)) may be calculated as M_(t)=(C_(t)+M_(t-1)) MOD Nand the step control signal (S_(t)) may be calculated asS_(t)=(C_(t)+S_(t)) DIV N.

Hereby an efficient N-step clock controlled m-sequence generation methodis provided which an unpredictability that grows with N.

In an embodiment, the sequence generation means is a windmill polynomialsequence generator.

In yet another embodiment the sequence generation means comprises:

-   -   a plurality of delay elements,    -   step control means receiving a next block control signal as        input, and    -   sum elements,    -   where each delay element is connected to another and two of them        are additionally connected to themselves via a sum element. A        very simple and efficient implementation of a windmill        polynomial sequence generator is provided hereinafter.

The invention also provides a method of efficient multi-rate PN sequencegeneration of simplified complexity which is capable of generating oneor more m-sequences at a multi-rate, said method further comprising thesteps of:

-   -   providing a select value (M_(t)),    -   providing the step control signal (S_(t)), and selecting one of        said plurality of sequence values on the basis of the select        value (M_(t)).

In this way a method is provided which efficiently provides a PNsequence with enhanced unpredictability but with minimal additionalcomputational effort.

In accordance with one embodiment of the method according to theinvention, the select value (M_(t)) is provided on the basis of a clockcontrol value/signal (C_(t)) and a previously generated select value(M_(t-1)).

In accordance with another embodiment, the step control signal (S_(t))is provided on the basis of a clock control value/signal (C_(t)) and apreviously generated select value (M_(t-1)).

In a preferred embodiment, the plurality of sequence values is two, thestep control signal (S_(t)) is calculated as S_(t)=(C_(t)+M_(t-1)) DIV 2and the select value (M_(t)) is calculated as M_(t)=(C_(t)+M_(t-1)) MOD2. A (1,2)-step clock controlled m-sequence generation method is thusprovided with very little additional computational effort.

Alternatively, the plurality of sequence values is four and the selectvalue (M_(t)) is calculated as M_(t)=(C_(t)+M_(t-1)) MOD 4 and the stepcontrol signal (S_(t)) is calculated as S_(t)=(C_(t)+S_(t)) DIV 4. Anefficient (1,2,3,4)-step clock controlled m-sequence generation methodis provided which is even more unpredictable.

In general any N-step clock controlled m-sequence generator may beprovided according to this invention, where N≧2. Accordingly the selectvalue (M_(t)) may be calculated as M_(t)=(C_(t)+M_(t-1)) MOD N and thestep control signal (S_(t)) may be calculated as S_(t)=(C_(t)+S_(t)) DIVN. An efficient N-step clock controlled m-sequence generation method isthus provided which an unpredictability that grows with N.

In one embodiment the plurality of sequence values is generated by awindmill polynomial sequence generator.

The present invention also relates to the use of the method and/orelectrical device mentioned above in a portable device. In a preferredembodiment the portable device is a mobile telephone. Efficient and moresafe encryption of digitized speech may thus be obtained.

Additionally, the reduced complexity of the hardware needed saves powerwhich is especially important in e.g. a mobile telephone.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The present invention will now be described more fully with reference tothe drawings, in which

FIG. 1 illustrates a functional block diagram of a prior art (1,2)-stepclock controlled m-sequence generator;

FIG. 2 illustrates a functional block diagram of a windmill generator;

FIG. 3 schematically illustrates a combination of a windmill generatorand a Clock and Select system (CS system);

FIG. 4 shows one realisation of the CS system shown in FIG. 3;

FIG. 5 shows a preferred realisation of ADD, MOD 2, and DIV 2 operationsin hardware;

FIG. 6 shows a generalisation of the bi-rate method described to aquaternary-rate (1,2,3,4)-step clock controlled m-sequence generator;

FIG. 7 shows a generalized embodiment of a clock controlled m-sequencegenerator;

FIG. 8 shows a flow chart of the method according to the invention;

FIG. 9 shows the preferred embodiment of the invention, which maycontain the electrical device and/or use the method according to thepresent invention;

FIGS. 10 a and 10 b show two exemplary implementations of a system usingthe method and/or device according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a functional block diagram of a prior art (1,2)-stepclock controlled m-sequence generator (101). This exemplary generator(101) outputs PN sequence symbols Z_(t) (102). The generator (101) hasL=5 delay elements (103) each connected to step control means (104)receiving a clock control signal C_(t) (105) where t denotes the timeinstants 0, 1, 2, . . . . In this way each element (103) is clockcontrolled by a sequence C=C₀, C₁, C₂, C₃, . . . , where each symbolrepresents the value 1 or 2, i.e. C_(t) ε{1,2}.

As will be seen, every value in the delay element (103) is shifted tothe right at each time instant, except the value of the (from left toright) first element (103) which updates to the sum (without a carry) ofthe values of the second and the fifth delay elements (103) by an addingelement (106).

If the m-sequence generator (101) steps once every time instant thegenerator (101) will produce the simple sequence X=X₀, X₁, X₂, X₃ . . .. With the shown initial values of the delay elements (103) (from leftto right 0, 0, 1, 1, 0) the output sequence will be X=1, 1, 0, 0, 0, 1,1, . . . . But if the stepping is controlled by the values of thesymbols of C the following output sequence Z=Z₀, Z₁, Z₂, Z₃, . . , willbe produced:Z _(t) =X _(σ(t)) t=0, 1, 2, 3, . . . ,whereσ(t)=Σ_(i) C _(i) C _(t)ε{1,2},and the sum Σ goes from i=0 to i=t-1. In other words, the next symbolZ_(j) is equal to either the next symbol X_(k) (if C_(t=1)) or the nextsymbol again X_(k+)1 (if C_(t)=2). As an example, the sequence Z₀=X₀,Z₁=X₂, Z₂=X₄, Z₃=X₆, Z₄=X₇ will be output if C₀=2, C₁=2, C₂ =2, C ₃=1.

In this way the unpredictability of the PN sequence Z_(t) (102) will beenhanced but creates the need for a clock rate for producing X_(t) whichis twice as fast as the rate desired for Z_(t), since two symbols of Xmust be calculated for each symbol of Z. The faster clock rate needsmore circuitry and/or multiple system clocks.

FIG. 2 illustrates a functional block diagram of a windmill generator(201). This is a windmill application of the m-sequence generator shownin FIG. 1. Reference may be had to PCT publication WO 99/45673 to obtaininformation regarding a windmill polynomial and a windmill generator.Said PCT publication is incorporatred herein by reference. Shown in FIG.1 are L=5 delay elements (103) with step control means (104) connectedto a next block control signal (202). The windmill generator (201) willoutput a sequence of the symbols Z=Z₀, Z₁, Z₂, Z₃, . . . in blocks oftwo tuples (Z_(2t), Z_(2t+1)) (205, 206) for t=0, 1, 2, . . . . For eachtime instant a two tuple is generated if the next block control signal(202) is enabled, i.e. true/1. If the next block control signal (202) isdisabled, i.e. false/0, the generator repeats the previous block, i.e.does not step to the next block.

The values of the delay elements (103) are shifted from the left to theright at each time instant, except the value of the (from left to right)first element which updates to the sum (without a carry) of the valuesof itself and the fifth delay elements (103) by an adding element (203),and except the third element which updates to the sum (without a carry)of the values of itself and the previous/second element (103) by anadding element (204).

As an example, the initial values shown from left to right (0, 1, 0, 1,0) will generate the following output sequence Z_(2t)(205)=1, 0, 0, 1,1, 0, 1 and Z_(2t+1)(206)=1, 0, 1, 1, 1, 0, 1 for t=0 . . . 6, if thenext block control signal (202) is enabled.

In this way the need for extra circuitry and/or an extra system clock ofhigher rate is avoided, since a tuple of two values (Z_(2t), Z_(2t+1))of the PN sequence will be generated for each time instant, i.e. at eachclock cycle.

FIG. 3 schematically illustrates a combination of a windmill generator(201) and a Clock and Select system (301). The Clock and Select system(301), denoted CS system in the following, will be described in greaterdetail for one application in connection with FIG. 4. The windmillgenerator (201) corresponds to the one shown in FIG. 2.

The windmill generator (201) generates blocks/tuples of size v. In thisexemplary embodiment the blocks are of the size v=2, but blocks of othersizes are also within the scope of the present invention, as will bedescribed later in connection with FIGS. 6 and 7.

This combination of the windmill generator (201) and the control andselect (CS) system (301) will generate a multi-rate clock controlledm-sequence.

The output symbols from the windmill generator (201), now denoted X_(2i)(302) and X_(2i+1) (303), are sent to the CS system (301). The windmillgenerator (201) receives a step control signal S_(t) (304) whichcorresponds to the next block signal (202) in FIG. 2.

The CS system (301) is responsible for the pacing of the windmillgenerator (201) by providing the step control signal S_(t) (304) and forselecting one of the two output symbols X_(2i) (302) and X_(2i+1) (303).The selected symbol is the final output symbol Z_(t) (305).

The CS system (301) receives a clock control signal C_(t) (306) whichpaces the CS system (301), since one set of symbol X_(2i) (302) andX_(2i+1) (303) and thereby one output symbol Z_(t) (305) will begenerated for each value of the clock control signal C_(t) (306). Onedetailed embodiment of the CS system (301) will be explained inconnection with FIG. 4.

In this way, one cipher of the PN sequence will be generated for eachclock cycle. The resulting PN sequence has a high degree ofunpredictability since no linear relationship between the output ciphersexists, i.e. either the next symbol or the next symbol again is output.The output is obtained at the same rate as the input clock rate (C_(t))without the need for multiple clocks and by very little additionalhardware.

FIG. 4 shows one application of the CS system (301) shown in FIG. 3.This application of the CS system (301) in combination with the windmillgenerator (201) will result in a (1,2)-step clock controlled m-sequencegenerator.

Shown is selection means (401) adapted to select one of the two symbolsX_(2i) (302) and X_(2i+1) provided by the windmill generator (201). Theselection is done on the basis of a previously generated select valueM_(t-1) (406) (generated in the prior time instant as described later).If the previously generated select value M_(t-1) (406) is false/0 thenone symbol from the windmill generator is selected and if the valueM_(t-1) (406) is true/1 the other symbol is selected. In the shownexample, the symbol X_(2i) (302) is chosen for M_(t-1) (406) being falseand X_(2i+1) is chosen for M_(t-1) (406) being true, but it could alsobe vice versa. The selected symbol is the final output symbol Z_(t)(305).

The previously generated select value M_(t-1) (406) is received from adelay element D (403) which keeps a newly generated select value M_(t)(407) for one time instant/clock cycle.

The clock control signal value C_(t) (306), pacing the CS system, isadded by addition means (402) to the previously generated select valueM_(t-1) (406). The sum (408) of C_(t) (306) and the previously generatedselect value M_(t-1) (406) can take the values 1,2,3.

From this sum (408) the new select value M_(t) (407) is derived by theMOD 2 means (404), i.e. M_(t) (407)=(C_(t)(306)+M_(t-1) (406)) MOD 2,and the new select value M_(t) (407) is kept in the delay element D(403), as described above.

The sum (408) is also used to derive the step control signal S_(t) (304)which is derived by the DIV 2 means (405), i.e. S_(t)(304)=(C_(t)(306)+M_(t-1) (406)) DIV 2. The step control signal S_(t)(304) is used by the windmill generator (201) to derive the two symbolsX_(2i) (302) and X_(2i+1), as described above.

In this way, the device shown in FIG. 3 is implemented by use of minimalhardware.

FIG. 5 shows a preferred application of ADD, MOD 2, and DIV 2 operationsin hardware. The combination of ADD, MOD 2, and DIV 2 functionality mayadvantageously be realised in hardware by a 1 bit half-adder circuit(504).

The clock control signal C_(t) (305) is split into two signals, C_(t) ⁰(503) and C_(t) ¹ (502), by a logic circuit (501), preferably accordingto the following table: C_(t) C_(t) ¹ C_(t) ¹ 0 1 0 1 0 1

In this way C_(t) ¹ (502) is always equal to C_(t) (305) and C_(t) ⁰(503) is always inverted to C_(t) (305).

C_(t) ⁰ (503) is added to the previously generated select value M_(t-1)(406) by the 1 bit half-adder circuit (504). The result consists of twosignals (506, 407) which represents the carry and the sum of theaddition, respectively. The sum corresponds to a MOD 2 function since itis performed without a carry. The sum is the select value M_(t) (407).

The carry signal (506) corresponds to a DIV 2 function and is used asinput together with C_(t) ¹ (502) (equal to C_(t) (305)) in an OR gate(505). The result of the OR gate (505) is the step control signal S_(t)(304) used to control the windmill generator (201).

This application greatly reduces the complexity of the hardware neededto provide a (1,2)-step clock controlled m-sequence generator.

FIG. 6 shows a generalisation of the bi-rate method described to aquaternary-rate (1,2,3,4)-step clock controlled m-sequence generator.Shown are a windmill generator (601) and a CS system (602) which hasbeen generalised from a bi-rate to a quaternary-rate.

The CS system (602) receives the clock control signal value C_(t) (603)now ε {1, 2, 3, 4} and the windmill generator outputs four sequencevalues/symbols X_(4i) (604), X_(4i+1) (605), X_(4i+2) (606), X_(4i+3)(607) on the basis of the step control signal S_(t) (608).

Only one of the four sequence values (604-607) is selected as the finaloutput symbol Z_(t) (609) of the PN sequence. The selection of one ofthe four symbols (604-607) in the CS system (602) is still provided onthe basis of a previously generated select value M_(t-1).

The step control signal S_(t) (608) is still provided on the basis ofthe clock control signal value C_(t) (603) and the previously generatedselect value M_(t-1) according to:S _(t)=(C_(t)(603)+M _(t-1))DIV 4,and the new generated select value M_(t) is provided on the basis of theclock control signal value C_(t) (603) and the previously generatedselect value M_(t-1) according to:M _(t)=(C _(t)(603)+M _(t-1))MOD 4.

In this way a PN sequence with an even larger degree of unpredictabilityis provided with very little additional hardware.

Even PN sequences with a larger rate then four may be implemented, asdescribed in connection with FIG. 7, using the same techniques andgiving the same advantages as described above.

FIG. 7 shows a generalized embodiment of a clock controlled m-sequencegenerator. Shown are a windmill generator (701) and a CS system (702)which has been generalised to a N-rate, where N is at least 2.

The CS system (702) receives the clock control signal value C_(t) (703)now ε {1, . . . , N} and the windmill generator outputs N sequencevalues/symbols X_(Ni) (704), X_(Ni+1) (705), . . . , X_(Ni+N-1) (706) onthe basis of the step control signal S_(t) (707).

Only one of the N sequence values (704-706) is selected as the finaloutput symbol Z_(t) (709) of the PN sequence. The selection of one ofthe N symbols (704-706) in the CS system (602) is still provided on thebasis of a previously generated select value M_(t-1).

The step control signal S_(t) (707) may be provided on the basis of theclock control signal value C_(t) (703) and the previously generatedselect value M_(t-1) according to:S _(t)=(C _(t)(703)+M _(t-1)) DIV N,and the new generated select value M_(t) may be provided on the basis ofthe clock control signal value C_(t) (703) and the previously generatedselect value M_(t-1) according to:M _(t)=(C _(t)(703)+M _(t-1)) MOD N.

In this way, a PN sequence with an arbitrary large degree ofunpredictability is provided with very little additional hardware.

The degree of unpredictability may be chosen according to a specificneed for a given implementation.

FIG. 8 shows a flow chart of the method according to the invention. Themethod generates a plurality of PN sequence values/symbols and selectsone of these as output.

The method is initialised at step (801).

At step (802) a select value M_(t) is provided. The select value M_(t)may be calculated on the basis of a clock control value/signal C_(t) anda previously generated select value M_(t-1). The clock signal C_(t) maye.g. be provided by an external control method or hardware circuit. Thefirst time a select value is calculated, the previously generated selectvalue may have the initial value of 0 or 1.

Preferably, the select value M_(t) is calculated asM_(t)=(C_(t)+M_(t-1)) MOD 2 for a plurality of sequence values beingequal to two.

Alternatively, the select value M_(t) may be calculated asM_(t)=(C_(t)+M_(t-1)) MOD 4 for a plurality of sequence values beingequal to four.

Other functions than MOD and DIV and other values than C_(t) and M_(t-1)may be provided.

At step (803) a control signal S_(t) is provided. The generated controlvalue S_(t) is used to control the generation of sequence values at step(804).

The control signal S_(t) may be calculated on the basis of the clockcontrol signal C_(t) and the previously generated select value M_(t-1).

Preferably, the control value S_(t) is calculated asS_(t)=(C_(t)+M_(t-1)) DIV 2 for a plurality of sequence values beingequal to two.

Alternatively, the control value S_(t) may be calculated asS_(t)=(C_(t)+M_(t-1)) DIV 4 for a plurality of sequence values beingequal to four, but other functions and arguments may be provided.

The control value S_(t) and the select value M_(t) are calculated inthis way on the basis of the same signals.

At step (804) a plurality of symbols/sequence values is generated. Thegeneration of values may be done by any kind of sequence generator, e.g.a m-sequence generator, etc., but preferably the sequence generator is awindmill polynomial sequence generator. Alternatively, the generationmay be done completely in software by methods corresponding to thementioned generators.

The number of generated sequence values may vary according to how safethe method is to be, with a concomitant increase in the computationaleffort. Preferably, the number of generated values may be two or four,but any other number is just as applicable.

For two generated values, the next symbol and the next symbol again ofthe standard m-sequence generator are generated at the same time. Forfour values, the four next symbols will be generated, etc.

Preferably, the generation sequence values are controlled on the basisof the control signal S_(t) generated at step (802).

At step (805) one of the plurality of generated sequence values isselected and output as the next symbol in the output PN sequence.Preferably, the selection is done on the basis of the select value Mt.This selection of a value between a plurality of uncorrelated sequencevalues greatly enhances the unpredictability of the output sequence.

After execution of step (805) the method loops back to step (802). Oneloop is executed for each time step/instance.

In this way, a higher degree of unpredictability is obtained by verylittle computational effort.

FIG. 9 shows a preferred embodiment of the invention, which may containthe electrical device and/or use the method according to the presentinvention. Shown is a mobile telephone (901) having display means (904),a keypad (905), an antenna (902), a microphone (906), and a speaker(903). By including the electrical device and/or the method according tothe present invention a more safe and efficient encryption of speechsignal is provided, just requiring very little additional hardwareand/or additional computational effort.

FIGS. 10 a and 10 b show two exemplary implementations of a system usingthe method and/or device according to the invention.

FIG. 10 a shows a communications system (1001) comprising a firsttransmitting/receiving station (1003) and a second sending/receivingstation (1004) where information (1005) may be transmitted. The PNsequences generated by a (1,2)-step clock control m-sequence generatorof an embodiment of the present invention may be used as a sub-componentto encrypt information (1005) to be transmitted between the firsttransmitting/receiving station (1003) and the secondtransmitting/receiving station (1004).

Alternatively, a quaternary-rate (1,2,3,4)-step clock controlledm-sequence generator or other rate generators, as described inconnection with FIGS. 6 and 7, may be provided in the system to improvethe unpredictability even further.

In this way, safe transmission of information (1005) like data,digitized speech signals, etc. may be achieved by using less hardware,thereby reducing the costs and power consumption.

FIG. 10 b shows a transmitting/receiving station (1003) and a mobileterminal (901) which form a cellular communications system (1002). Theinformation (1005) to be transmitted/received between the mobileterminal (901) and a network infrastructure (not shown) via thetransmitting/receiving station (1003) may be encrypted through the useof a ciphering system that uses PN sequences generated by multi-rateclock controlled m-sequence generators.

Alternatively, a quaternary-rate (1,2,3,4)-step clock controlledm-sequence generator or other rate generators, as described inconnection with FIGS. 6 and 7 may be provided in the system to improvethe unpredictability even further.

In this way, safe transmission of information (1005) like data,digitized speech signals, etc. may be achieved by using less hardware,thereby reducing the costs and power consumption.

Equivalents

Although preferred embodiments of the method and apparatus of thepresent invention have been ilustrated in the accompanying drawings asdescribed in the foregoing detailed description, it will be understoodthat the invention is not limited to the embodiments disclosed, but iscapable of numerous rearrangemetns, modifications, equivalents andsubstitutions without departing from the scope of the invention as setforth in the appended claims.

1. An electrical device for generating a pseudo random noise (PN) outputsequence (Z_(t)) comprising: a sequence generator to output a pluralityof sequence values (X_(Ni) . . . X_(Ni+N-1)) based on a step controlsignal (S_(t)); a control and selection system coupled to the sequencegenerator adapted to select one of said plurality of sequence values(X_(Ni) . . . X_(Ni+N-1)) from the sequence generator based on a selectvalue (M_(t)), wherein said select value (M_(t)) is calculated asM_(t)=F(C_(t), M_(t-1)) where F is a function such that for eachpossible clock value C_(t) the function value runs through allpracticable N values of M_(t) as M_(t)-t runs through the N values withthe restriction that all values occur equally often; and a step controlof the control and selection system adapted to provide said step controlsignal (S_(t)) to the sequence generator, wherein said step controlsignal (S_(t)) is calculated as S_(t)=G(C_(t), M_(t-1)) where G is afunction such that for each possible clock value C_(t) the functionvalue assumes one or two subsequent function values.
 2. The electricaldevice according to claim 1, wherein said sequence generator comprises awindmill polynomial sequence generator.
 3. The electrical deviceaccording to claim 1, wherein said electrical device is used in aportable device.
 4. The device according to claim 3, wherein saidportable device is a mobile telephone.
 5. The device according to claim3, wherein said electrical device is used in a stationary communicationdevice.
 6. A method of generating a PN output sequence (Z_(t))comprising the steps of: generating a plurality of sequence values(X_(Ni) . . . X_(Ni+N-1)) based on a step control signal (S_(t)), themethod further comprising the steps of: providing a select value(M_(t)), wherein said select value (M_(t)) is calculated asM_(t)=F(C_(t), M_(t-1)) where F is a function such that for eachpossible clock value C_(t) the function value runs through allpracticable N values of M_(t) as M_(t)-t runs through the N values withthe restriction that all values occur equally often; providing the stepcontrol signal (S_(t)), wherein said step control signal (S_(t)) iscalculated as S_(t)=G(C_(t), Mt-1) where G is a function such that foreach possible clock value C_(t) the function value assumes one or twosubsequent function values; and selecting one of said plurality ofsequence values (X_(Ni) . . . X_(Ni+N-1)) on the basis of the selectvalue (M_(t)); and outputting one of said plurality of sequence values(X_(Ni) . . . X_(Ni+N-1)) as one element of a PN output sequence(Z_(t)).
 7. The method according to claim 6, wherein said plurality ofsequence values (X_(Ni) . . . X_(Ni+N-1)) is generated by a windmillpolynomial sequence generator.
 8. The method according to claim 6,wherein said method is used in a portable device.
 9. The methodaccording to claim 6, wherein said method is used in a mobile telephone.10. The method according to claim 6, wherein said method is used in astationary communication device.
 11. A pseudo random noise (PN)generator, comprising: a sequence generator module; a control and selectsystem module coupled to the sequence generator module; the sequencegenerator module adapted to provide a plurality of sequence values(X_(Ni) . . . X_(Ni+N-1)) to the control and select system module basedon a step control signal (S_(t)) fed into the sequence generator modulefrom the control and select system module; the control and select systemmodule adapted to select one of the plurality of sequence values (X_(Ni). . . X_(Ni+N-1)) based on a select value (M_(t)) generated by thecontrol and select system module wherein the select value (M_(t)) iscalculated as M_(t)=F(C_(t), M_(t)-1) where F is a function such thatfor each possible clock value C_(t) the function value runs through allpracticable N values of M_(t) as M_(t)-t runs through the N values withthe restriction that all values occur equally often; the control andselect system module being adapted to generate the step control signal(S_(t)) calculated as S_(t)=G(C_(t), Mt-1) where G is a function suchthat for each possible clock value C_(t) the function value assumes oneor two subsequent function values; and the control and select systemmodule adapted to output the selected one of the plurality of sequencevalues (X_(Ni) . . . X_(Ni+N-1)) as one element of a PN output sequence(Z_(t)).
 12. The pseudo random noise (PN) generator of claim 11, whereinthe sequence generator module comprises a windmill polynomial sequencegenerator.